<template>
	<el-dialog v-model="visible" title="选择出库单明细行" :close-on-click-modal='false' :close-on-press-escape='false'
		:fullscreen='false'>
		<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
			<!-- <el-form-item>
				<el-input v-model="dataForm.id" placeholder="id" clearable></el-input>
			</el-form-item> -->
			<el-form-item>
				<el-input v-model="dataForm.sku" placeholder="物料编码" clearable></el-input>
			</el-form-item>
			<el-form-item>
				<el-button @click="getDataList()">查询</el-button>
			</el-form-item>
		</el-form>
		<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle"
			@sort-change="dataListSortChangeHandle" style="width: 100%;">
			<!-- <el-table-column type="selection" header-align="center" align="center" width="50"></el-table-column> -->
			<!-- <el-table-column prop="id" label="序号" header-align="center" align="center"></el-table-column> -->
			<!-- <el-table-column prop="orderkey" label="出库单号" header-align="center" align="center"></el-table-column> -->
			<el-table-column prop="line" label="行号" header-align="center" align="center"></el-table-column>
			<el-table-column prop="sku" label="物料编码" header-align="center" align="center"></el-table-column>
			<el-table-column prop="unit" label="单位" header-align="center" align="center"></el-table-column>
			<el-table-column prop="pack" label="包装" header-align="center" align="center"></el-table-column>
			<el-table-column prop="status" label="状态" header-align="center" align="center">
				<template #default="scope">
					<el-select size="mini" v-model="scope.row.status " placeholder="请选择" disabled>
						<el-option v-for="item in ordersStatus" :key="item.list" :label="item.listname"
							:value="reString(item.list)">
						</el-option>
					</el-select>
				</template>
			</el-table-column>
			<el-table-column prop="qty" label="预计数量" header-align="center" align="center"></el-table-column>
			<el-table-column prop="diffqty" label="剩余数量" header-align="center" align="center"></el-table-column>
			<el-table-column prop="allocateqty" label="分配量" header-align="center" align="center"></el-table-column>
			<el-table-column prop="pickqty" label="拣货量" header-align="center" align="center"></el-table-column>
			<el-table-column prop="actqty" label="实际数量" header-align="center" align="center"></el-table-column>
			<!-- 	<el-table-column prop="fromloc" label="自库位" header-align="center" align="center"></el-table-column>
			<el-table-column prop="fromtray" label="自托盘" header-align="center" align="center"></el-table-column>
			<el-table-column prop="frombox" label="自容器" header-align="center" align="center"></el-table-column> -->
			<!-- <el-table-column prop="lot" label="批号" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot1" label="生产日期" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot2" label="有效日期" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot3" label="属性3" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot4" label="属性4" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot5" label="属性5" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot6" label="属性6" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot7" label="属性7" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot8" label="属性8" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot9" label="属性9" header-align="center" align="center"></el-table-column>
			<el-table-column prop="lot10" label="属性10" header-align="center" align="center"></el-table-column>
			 <el-table-column prop="lot11" label="属性11" header-align="center" align="center"></el-table-column>
			 <el-table-column prop="lot12" label="属性12" header-align="center" align="center"></el-table-column>
			 <el-table-column prop="lot13" label="属性13" header-align="center" align="center"></el-table-column>
			 <el-table-column prop="lot14" label="属性14" header-align="center" align="center"></el-table-column>
			 <el-table-column prop="lot15" label="属性15" header-align="center" align="center"></el-table-column>-->
			<!-- <el-table-column prop="allocationstrategy" label="分配策略" header-align="center" align="center">
			</el-table-column> -->
			<!-- <el-table-column prop="rolateby" label="周转" header-align="center" align="center"></el-table-column>
			<el-table-column prop="remark" label="备注" header-align="center" align="center"></el-table-column>
			<el-table-column prop="sourcekey" label="来源单号" header-align="center" align="center"></el-table-column>
			<el-table-column prop="sourcetype" label="来源单类型" header-align="center" align="center"></el-table-column>
			<el-table-column prop="sourcedate" label="来源单时间" header-align="center" align="center"></el-table-column>
			<el-table-column prop="relatedorderkey" label="关联单据" header-align="center" align="center">
			</el-table-column>
			<el-table-column prop="relatedorderline" label="关联单据行" header-align="center" align="center">
			</el-table-column>
			<el-table-column prop="backstatus" label="回传状态" header-align="center" align="center"></el-table-column>
			<el-table-column prop="backdate" label="回传时间" header-align="center" align="center"></el-table-column>
			<el-table-column prop="backresult" label="回传结果" header-align="center" align="center"></el-table-column>
			<el-table-column prop="backcode" label="回传码" header-align="center" align="center"></el-table-column>
			<el-table-column prop="warehouse" label="仓库" header-align="center" align="center"></el-table-column>
			<el-table-column prop="adduser" label="创建人" header-align="center" align="center"></el-table-column>
			<el-table-column prop="addtime" label="创建时间" header-align="center" align="center"></el-table-column>
			<el-table-column prop="updatuser" label="更新人" header-align="center" align="center"></el-table-column>
			<el-table-column prop="updatetime" label="更新时间" header-align="center" align="center"></el-table-column> -->
			<el-table-column label='操作' fixed="right" header-align="center" align="center" width="150">
				<template #default="scope">
					<el-button type="text" size="small" @click="selectOrderdetailHandleFn(scope.row)">选择
					</el-button>
					<!-- select<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">删除</el-button> -->
				</template>
			</el-table-column>
		</el-table>
		<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total"
			layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle"
			@current-change="pageCurrentChangeHandle">
		</el-pagination>
	</el-dialog>

</template>

<script>
	import DataList from "@/utils/DataList";
	import {
		ref,
		reactive,
		onMounted,
		nextTick,
		toRefs
	} from 'vue';
	import {
		getCodeListByCode
	} from "@/network/lswms/base/Codelist.js"
	//import {hasPermission} from "@/utils/hasPermission"
	export default {
		name: "orderdetailDialog",
		emits: ["fillline"],
		setup(props, {
			emit
		}) {
			const {
				dataForm,
				mixinViewModuleOptions,
				getDataList,
				dataList,
				total,
				page,
				limit,
				dataListLoading,
				dataListSelectionChangeHandle,
				dataListSortChangeHandle,
				pageSizeChangeHandle,
				pageCurrentChangeHandle,
				addOrUpdateHandle,
				deleteHandle,
				exportHandle,
				addOrUpdateVisible,
				dataListSelections,
				addOrUpdate
			} = DataList();

			onMounted(() => {
				mixinViewModuleOptions.value.getDataListIsPage = true;
				mixinViewModuleOptions.value.getDataListURL = '/lswms/orderdetail/page';
				mixinViewModuleOptions.value.deleteURL = '/lswms/orderdetail';
				mixinViewModuleOptions.value.exportURL = '/lswms/orderdetail/export';
				mixinViewModuleOptions.value.deleteIsBatchKey = 'id';
				mixinViewModuleOptions.value.deleteIsBatch = true
				dataForm.value = {
					id: '',
					orderkey: ''
				}
				//	console.log("id:" +props.dataForm.id);
				//	console.log("orderkey:" +props.dataForm.orderkey);
				// if (mixinViewModuleOptions.value.activatedIsNeed) {
				// 	getDataList();
				// }
				// console.log(props);
				//  console.log(dataForm.value.orderkey);
				// if (dataForm.value.orderkey) {
				// 	dataForm.value.id = '';
				// 	getDataList()
				// }
				ordersStatusFn();
			})

			const visible = ref(false);
			const init = () => {
				visible.value = true;
				nextTick(function() {
					//  dataFormRef.value.resetFields();
					// roleIdListDefault.value = [];
					if (dataForm.value.orderkey) {
						dataForm.value.id = '';
						getDataList()
					}

				})
			}

			// 新增 / 修改
			const addOrUpdateOrderdetailHandleFn = (id) => {
				//
				addOrUpdateVisible.value = true;
				nextTick(function() {
					addOrUpdate.value.dataForm.id = id;
					addOrUpdate.value.dataForm.orderkey = dataForm.value.orderkey;
					addOrUpdate.value.init();
				})
			}

			const ordersStatus = ref("");

			const ordersStatusFn = () => {

				getCodeListByCode('OrderStatus').then((res) => {
					if (res.code !== 0) {
						return ElMessage.error(res.msg);
					}
					ordersStatus.value = res.data;
				}).catch((err) => {});
			}

			const selectOrderdetailHandleFn = (row) => {
				emit('fillline', row);
				visible.value = false;
			}

			return {
				dataForm,
				mixinViewModuleOptions,
				getDataList,
				dataList,
				total,
				page,
				limit,
				dataListLoading,
				dataListSelectionChangeHandle,
				dataListSortChangeHandle,
				pageSizeChangeHandle,
				pageCurrentChangeHandle,
				addOrUpdateHandle,
				deleteHandle,
				exportHandle,
				addOrUpdateVisible,
				dataListSelections,
				addOrUpdate,
				init,
				visible,
				addOrUpdateOrderdetailHandleFn,
				ordersStatus,
				selectOrderdetailHandleFn
			}
		},
		methods: {
			//hasPermission

			reString: function(val) {
				let n = Number(val)
				if (!isNaN(n)) {
					return n
				} else {
					return val
				}
			}
		}
	}
</script>

<style>
</style>
